package com.dingreading.cloud.admin.service;

import com.dingreading.cloud.admin.dto.CaScheduleLessonDto;
import com.dingreading.cloud.admin.dto.CallMemberDto;
import com.dingreading.cloud.admin.entity.CaScheduleLesson;
import com.dingreading.cloud.common.util.PageUtil;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;

import java.util.List;

/**
 * 服务层。
 *
 * @author Administrator
 * @since 2023-11-22
 */
public interface CaScheduleLessonService extends IService<CaScheduleLesson> {

    Page<CaScheduleLessonDto> pageListV3(
            PageUtil pageUtil, String corpUid, String storeUid, String keyword, Integer status, String scheduleUid, String lessonUid,
            Long classId, String className, Long roomId, String username, String projectUid, String beginDate, String endDate
    );

    CaScheduleLesson getLessonInfo(String storeUid, String lessonUid);

    // 获取点名时的会员详情，社团里的或插班补缺试听的会员
    List<CallMemberDto> getClassMemberAndCallMember(String storeUid, Long classId, String lessonUid);


    // 查询所有门店的活动记录
    List<CaScheduleLesson> getStoreLessons(String corpUid, String storeUid, String keyword, Integer status, String beginDate, String endDate, List<String> storeUidList);

    boolean haveProjectUid(String projectUid);

    boolean haveStageUid(String storeUid, String stageUid);

}
